﻿using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using SegIdenMovilBT.Entidad;
using SegIdenMovilBT.DataAccess;
using System.Data;

namespace SegIdenMovilBT.Datos
{
    public class ParametroDA
    {
        #region --- Constantes Parametros ---
        private const string CODIGO = "CODIGO";
        private const string DESCRIPCION = "DESCRIPCION";
        private const string VALOR = "VALOR";
        #endregion

        #region --- Metodos Propios ---
        public ListaParametro listarParametro()
        {
            ListaParametro listaParametros = null;
            StringBuilder sentenciaSQL = null;

            sentenciaSQL = new StringBuilder();
            sentenciaSQL.Append("SELECT CODIGO, DESCRIPCION, VALOR ");
            sentenciaSQL.Append("FROM parametro ");

            // Carga de datos obtenido de la BD
            using (Database db = new Database())
            {
                db.TextoSQL = sentenciaSQL.ToString();

                listaParametros = new ListaParametro();

                IDataReader dr = db.obtenerDataReader();

                while (dr.Read())
                {
                    listaParametros.add(generarEntidadParametro(dr));
                }
            }

            return listaParametros;
        }

        private Parametro generarEntidadParametro(IDataReader dr)
        {
            Parametro parametroObtenido = null;

            parametroObtenido = new Parametro();
            parametroObtenido.codigo = dr[CODIGO].ToString();
            parametroObtenido.descripcion = dr[DESCRIPCION].ToString();
            parametroObtenido.valor = dr[VALOR].ToString();

            return parametroObtenido;
        }
        #endregion
    }
}
